While conventional brush-commutated DC motors have advantageous characteristics such as convenience of controlling operational speeds, brush-commutated DC motors suffer from brush wear, electrical noise and/or RF interference. These disadvantages limit the life and applicability of brush-commutated DC motors. Accordingly, electronically commutated brushless DC (BLDC) motors have been developed.
BLDC motors have many high and low speed applications. Conventional high speed applications include spindle motors for computer hard disk drivers, digital video disk (DVD) drivers, CD players, tape-drives for video recorders, and blowers for vacuum cleaners. Low speed applications include motors for farm and construction equipment, HVAC compressors, and fuel pumps.
FIG. 1 is a block diagram of a prior art sensorless BLDC motor 100. As shown, a stator 105 has three windings U, V and W connected 120 degrees apart in a “Wye” or “Y” configuration. A set of driving transistors 110 drive the voltage of each winding to cause a rotating electromagnetic field, thus causing the rotor (not shown) to rotate about the stator 105. Specifically, the windings are sequentially energized to produce a rotating current path through two of the windings, leaving the third winding in tristate. The six commutation phases or steps are defined as described by the following sequence:
Time:T1T2T3T4T5T6Upper Transistor:S1S1S5S5S3S3Lower Transistor:S6S4S4S2S2S6
So that the phases can be switched and the flux in the stator 105 can be controlled at the proper times, the position of the rotor must be monitored. If the rotor and flux lose synchronization, the rotor will be less efficient, start to jitter, or stop rotating.
To monitor rotor position, a sensorless BLDC motor 100 takes advantage that, when the rotor is rotating, a back electro-motive force (BEMF) voltage is induced in each winding, including in the winding in tristate. Assuming that the windings have equal impedance, it is generally assumed that the BEMF voltage on the winding in tristate will be half way between the voltage across the other two windings when the rotor is transitioning. This point is referred to as the “zero-crossing.” Accordingly, when the BEMF voltage of the winding in tristate is equal to the voltage half way between the voltage across the other two windings, the BLDC motor 100 advances the commutation sequence by one step, e.g., 60 degrees. Known techniques of detecting BEMF include comparing the voltage on the winding in tristate against the voltage at the neutral point NP (the point at which all three windings connect) or against a neutral point voltage managed by a resistor network.
To control the speed of the rotor, the motor 100 uses pulse width modulation (PWM). PWM is a nonlinear supply of power, during which the power being supplied to one of the upper or lower transistors 110 is switched on and off according to a pattern. By modifying the pattern, e.g., the percentage of “on” time of the transistor, the motor 100 can control the speed of rotation.
When using PWM, it has been recognized that the application of PWM causes the neutral point voltage to deviate. For example, when applying PWM to the upper transistors 110 and a full voltage to the lower transistors 110, the zero-crossing voltage becomes a value lower than ½ VBUS. When applying PWM to the lower transistors 110 and a full voltage to the upper transistors 110, the zero-crossing voltage becomes a value greater than ½ VBUS. When alternating the application of PWM between the upper and lower transistors, the zero-crossing voltage alternates between the value lower than ½ VBUS and the value higher than ½ VBUS. For example, if at 100% PWM the zero-crossing voltage is at ½ VBUS (e.g., 2.5V), then at 60% PWM the zero-crossing voltage may be affected, e.g., 60% of 2.5V or 1.5V. Mathematical computations to calculate the zero-crossing voltage are well known. Resistor network and filter circuits used to detect the BEMF cannot be changed on the fly to accommodate this deviation from ½ VBUS.
One shortcoming of BEMF sensing stems from the fact that the BEMF voltage is directly proportional to motor speed (and phase angle related to the shaft angle). Accordingly, only when the rotor has reached sufficient speed, e.g., around 50-60% of full speed, will the generated BEMF voltage be sufficiently large to be detected. Unfortunately, the inability to precisely detect the BEMF voltage at lower speeds can lead to rotor position inaccuracies and loss of synchronization. Thus, the prior art BLDC motor 100 cannot use BEMF detection to control the motor 100 at relatively low speeds. Accordingly, to start a BLDC motor 100, the conventional BLDC motor 100 accelerates in an “open loop” mode, applying commutation signals at a rate designed to approximate the acceleration characteristics of a given motor/load combination, until the motor 100 reaches a sufficient speed. Then, upon reaching sufficient speed, the conventional BLDC motor 100 switches to using BEMF voltage to control commutation.